package com.example.coursehub.coursemanagement.repository;

import com.example.coursehub.coursemanagement.entity.Material;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 课程资料数据访问接口
 */
@Repository
public interface MaterialRepository extends JpaRepository<Material, Long> {
    
    /**
     * 根据课程ID查找资料
     */
    List<Material> findByCourseId(Long courseId);
    
    /**
     * 根据章节ID查找资料
     */
    List<Material> findByChapterId(Long chapterId);
    
    /**
     * 根据课程ID删除所有资料
     */
    void deleteByCourseId(Long courseId);
    
    /**
     * 根据章节ID删除所有资料
     */
    void deleteByChapterId(Long chapterId);
    
    /**
     * 统计课程的资料数量
     */
    long countByCourseId(Long courseId);
}